Serial, Parallel, and Wireless Support

C H A P T E R   1 3

Serial, Parallel, and Wireless Support

This chapter presents requirements and recommendations for serial and parallel ports and wireless capabilities under the Microsoft Windows family of operating systems.

Overview for Serial, Parallel, and Wireless Support

This section presents the key design issues for serial and parallel ports and wireless capabilities for PC 97 systems.

System Requirements for Serial, Parallel, and Wireless Support

This section summarizes the requirements for serial and parallel ports in PC 97 system designs.

1. Connection for external serial devices

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

Recommended: USB or PC Card. This capability can also be provided as a 16550A serial port or equivalent I/O capabilities provided in the system. If a legacy serial port is implemented in a PC 97 system, it must meet the requirements defined in this chapter. If two legacy serial ports are implemented, additional requirements are defined.

2. Connection for external parallel devices

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

Recommended: USB, IEEE 1394, or PC Card. This can also be provided as a parallel port with Extended Capability Port (ECP) mode capabilities. If a legacy port is implemented in a PC 97 system, it must meet the requirements defined in this chapter.

3. Wireless capabilities in PC system

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

Wireless capabilities can be provided as built-in capabilities in the system or by using PC Card, IEEE 1394, or USB. If wireless capabilities are included in the system, PC 97 requirements must be met as defined in this chapter.

PC97 Design Features for Ports

This section summarizes requirements related to the design initiatives for PC 97 defined in Part 1 of this guide.

Plug and Play and Bus Design for Ports

The items in this section are requirements for Plug and Play capabilities.

4. Plug and Play device identifier

Required

5. Automatic resource assignment and dynamic disable capabilities

Required

The system must be capable of automatically assigning, disabling, and relocating the resources used by this device when necessary, using the method required for the related bus class. Changing or adding this device to the system must not require changing jumpers or switches on either the adapter or the system board. In the event of an irreconcilable conflict with other devices on the system, the system must be able to disable the device to prevent the system from stalling.

If there is a conflict when more than one port or device of the same type is detected on the system, one of two methods can be used to resolve them:

Power Management for Ports

This section summarizes the specific power management requirements for ports.

6. Compliance with Device Class Power Management Reference Specification

Required

The "Device Class Power Management Reference Specification" for the communications device class provides definitions of the OnNow device power states (D0-D3) for serial devices. The specification also covers device functionality expected in each power state and the possible Wakeup event definitions for the class. Power states D0 and D3 are required; other states are recommended.

7. Support Wakeup Events defined in "Device Class Power Management Reference Specification"

Required

For PC 97, the ability to cause a Wakeup event as defined in the "Device Class Power Management Reference Specification" is a required feature.

Device Drivers and Installation for Ports

This section summarizes requirements for device drivers for ports. The items in this section are requirements for all PC 97 systems.

8. Device driver and installation meet Windows and Windows NT standards

Required

The manufacturer does not need to supply a driver if a standard driver provided with the operating system can be used. If the manufacturer supplies drivers, the requirements include the following:

For complete details about standard installation requirements for drivers, see "Basic PC 97" in Part 2 of this guide.

Serial Port Requirements

This sections summarizes the hardware design features for serial ports for PC 97.

Serial ports have been used on computers for decades. In the past, standard baud rates for most serial ports ranged up to 19.2K baud. Now that systems and peripherals have become more demanding, higher-speed devices must be used to meet the needs of the newest generation of serial ports.

9. General device requirements

Required

These include the standard requirements for a device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information see the "Basic PC 97" chapter of this guide.

Legacy Serial Port Requirements

This section defines requirements for legacy serial ports.

10. 16550 UART (or equivalent) with support for 115.2K baud

Required

A 16550A buffered UART or equivalent buffered serial port is required to support high-speed communications while reducing the CPU requirements for servicing the device. The device must be able to support 115.2K baud.

11. Flexible resource configuration and dynamic disable

Required

A legacy serial port must provide flexible resource configuration and complete dynamic disable capabilities following Plug and Play External COM Device Specification v. 1.0.

These are the recommended resource settings for non-PCI devices:

Two IRQs are required for each port. If two serial ports are implemented in the system, the IRQs can be assigned as follows:

An infrared adapter (IR) port might replace a serial port in a system. In such a case, the IR port should use the resource configuration that would otherwise be assigned to the second serial port.

Notice that, as for all devices, IRQ sharing is required if the minimum resource requirement cannot be met.

12. Conflict resolution ensures availability of at least one serial port

Required

In the event of an irreconcilable conflict with other serial ports on the system, a serial port must be capable of being disabled by the Plug and Play software. This allows at least one of the two conflicting serial ports to operate correctly.

Requirements for Other Serial Port Implementations

This section defines requirements for non-legacy implementations to support serial port capabilities.

13. Serial port complies with device-class specifications for its bus

Required

As required for all PC 97 devices, a serial port implementation that uses a non-legacy bus must meet the specific device-class requirements for that bus.

For example, a serial port implementation that uses USB must comply with all related USB specifications, including the USB Specification 1.0 (or higher) and Universal Serial Bus Device Class Definition for Communication Devices 1.0 (or higher). The appendix titled "Standard Serial Interface Circuit Emulation" in the USB Device Class Definition for Communication Devices specifically addresses compatibility for serial ports.

Parallel Port and Peripheral Requirements

This section summarizes the basic design features for parallel ports and peripherals. Each parallel port on a PC 97 system must meet the requirements listed in this section.

14. General device requirements

Required

These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information see the "Basic PC 97" chapter of this guide.

Legacy Parallel Port Requirements

This section defines requirements for legacy parallel ports.

15. Flexible resource configuration for each parallel port

Required

A legacy parallel port must provide flexible resource configuration following Plug and Play Parallel Port Device Specification v. 1.0b. Resource requirements must be met for each device of this type on the system. The requirements cannot be split between two ports on the system.

For non-PCI devices, these are the minimum resource requirements for each parallel port on the system:

To ensure Plug and Play support for resolution of resource conflicts, a full list of options for all possible configuration combinations must be enumerated, including:

Windows considers the parallel port base (/) address stored in the first BDA locations to be LPT1. The address stored in the second location is LPT2, and so on.

16. I/O address restrictions for EPP support

Required

Some Enhanced Parallel Port (EPP) implementations require eight contiguous I/O ports. If EPP support is implemented, the hardware cannot use 3BCh as a base I/O address because VGA devices require use of port 3C0h.

17. Compatibility, nibble mode, and ECP protocols compliant with IEEE 1284-1994

Required

Support for a parallel port must include the compatibility mode and nibble mode protocols required by the IEEE 12841994 specification for minimum compliance. This allows other 1284-compliant devices to be connected without problems.

The port must also support the ECP protocol as defined by IEEE 1284 to allow connections with higher speed parallel peripherals.

18. Port connectors compliant with 1284-I, at a minimum

Required

IEEE 1284-I - compliant ports use a standard DB25 connector found on existing system parallel port designs, called a 1284-A connector in the specification.

IEEE 1284-II - compliant ports use a 1284-C connector. This connector is used on both the port and the peripheral device.

The parallel port design must provide enough space between the connectors and the surrounding enclosure to allow for a mating connector, the connector shell, and the latch assembly. The IEEE 1284 specification recommends a 1284-C connector for all new ports and devices.

19. Plug and Play device identifier for 1284 peripherals

Required

The device identifier is described fully in the IEEE 1284 specification. All characters in the device identification string must consist only of ASCII values from 20h to 7Fh. The device identification string consists of a leading zero, a hexadecimal value that represents the length of the string, and then a set of fields, in ASCII, with a unique identification string.

For PC 97, in addition to the requirements specified in the Plug and Play Parallel Port Device Specification v. 1.0b, the device-ID string must contain these keys at a minimum: MANUFACTURER (MFG), MODEL (MDL), CLASS (CLS), and DESCRIPTION (DES). The keys are case sensitive and can be abbreviated as indicated.

All MANUFACTURER and MODEL key values must remain unique from each manufacturer. All MANUFACTURER, MODEL, CLASS, and DESCRIPTION key values must remain static for a specific unit (that is, identifier values do not change for different hardware configurations). For example, a user simply adding a memory module to a printer should not change the MODEL key value reported as part of the device identifier. However, if the user adds memory by installing an upgrade kit that requires a different driver or requires the existing driver to behave differently, then changing the MODEL value is acceptable as part of the upgrade installation process.

The CLASS key describes the type of parallel device. The CLASS key can contain the values PRINTER, MODEM, NET, HDC, PCMCIA, MEDIA, FDC, PORTS, SCANNER, or DIGCAM. HDC refers to hard disk controller. MEDIA refers to any multimedia device. FDC refers to floppy-disk drive controller.

The DESCRIPTION key is an ASCII string of up to 128 characters that contains a description of the device the manufacturer wants to have presented if a device driver is not found for the peripheral.

For information about how the system determines the correct peripheral device driver, see the Windows 95 and Windows NT DDKs.

20. Support CompatibleID key in the device identification string

Recommended

The CompatibleID (CID) key can provide a value that exactly matches a peripheral name supported by a device driver shipped with Windows. The value must match a value listed in the device's INF file.

Requirements for Other Parallel Port Implementations

This section defines requirements for non-legacy implementations to support parallel port capabilities.

21. Parallel port complies with device-class specifications for its bus

Required

As required for all PC 97 devices, a parallel port implementation that uses a non-legacy bus must meet the specific device-class requirements for that bus.

For example, a parallel port implementation that uses USB must comply with all related USB specifications, including the USB Specification 1.0 (or higher) and any specific device class specification.

Wireless Component Requirements

This section summarizes the basic design features for wireless components, provided either as infrared (IR) adapters or radio frequency (RF) adapters.

Many manufacturers are implementing integrated IR solutions for mobile PCs. Various form-factor and environmental issues limit the adoption of wireless solutions for desktop PCs, including receiver placement in the office environment and methods for limiting conflicting device signals.

Microsoft recommends that manufacturers move their wireless designs to incorporate fast IR solutions as soon as possible. Fast IR transmits and receives data at speeds of 1.152 Megabits per second (Mbps) and 4.0 Mbps. Fast IR includes design implementations that improve usability. However, interoperability issues still must be addressed.

The requirements listed in this section must be met if wireless capabilities are provided in the system.

22. General device requirements

Required

These include the standard requirements for a unique Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information see the "Basic PC 97" chapter of this guide.

23. Compliance with "Device Class Power Management Reference Specification" for wireless devices

Required

The "Device Class Power Management Reference Specification" for wireless devices provides definitions of the OnNow device power states (D0 - D3) for these devices. The specification also covers device functionality expected in each power state and the possible Wakeup event definitions for the class. Power states D0 and D3 are required. Other states are recommended.

24. Support Wakeup Events defined in "Device Class Power Management Reference Specification"

Optional

For PC 97, the ability to cause a Wakeup event as defined in the "Device Class Power Management Reference Specification" for wireless devices is an optional feature.

IR Requirements

This section summarizes basic design features for infrared components.

25. Echo cancellation in hardware, for slow-speed IR devices

Required

A software solution is not acceptable. Echo cancellation must be supported in the hardware.

26. NDIS 4.0 miniport driver for IR devices

Required

An NDIS 4.0 IrDA miniport driver is required for all IR devices. Full documentation and sample source code for building such a miniport driver is in the Windows NT 4.0 DDK.

27. System supports 4 megabits per second standard for input

Recommended

Device support for input speeds of 4 Mbps is strongly recommended.

28. System supports both IrDA and consumer IR remote control devices

Recommended

If the system is intended to run data transfer applications, support of the IrDA specifications is required. If the system is intended for the home market, support for consumer IR technology is also recommended. A combination chip set that supports both IrDA and consumer IR technology is recommended for all systems.

29. System differentiates command streams if both IrDA and remote control devices are supported

Required

This requirement ensures correct implementation for a system that includes IR support for both IrDA codes and remote control devices that use different device signals. A system that uses only a specific remote control protocol will restrict the ability to use multiple input devices and might also restrict other capabilities.

The system needs a method for either automatically switching to alternate modes or notifying the IR driver of the need to switch modes. If the second alternative is used, then the device manufacturer must publish the hardware interface the software can use for mode switching.

30. System supports a minimum range of 3 meters if both IrDA and remote control devices are supported

Recommended

The minimum IrDA device range that must be supported is 1 meter, but the home user is expected to use remote control devices at ranges greater than that.

31. Unicast filtering, for high-speed IR device

Recommended

For future multipoint IR protocols, filtering unicast packets not directed at the receiver will optimize performance.

32. Flexible resource configuration and dynamic disable

Required

The adapter must provide flexible resource configuration and complete dynamic disable capabilities following the specifications for the bus or legacy port used. These are the recommended resource settings for non-PCI devices:

Notice that, as for all devices, IRQ sharing is required for ISA if the minimum resource requirement cannot be met.

33. Device compliant with bus and port specifications

Required

The requirements for all bus classes are defined in Part 3 of this guide. The Windows operating system includes built-in support for devices that use the serial I/O interface; in this case, the wireless device must also comply with the requirements specified in the "Serial Port" requirements section earlier in this chapter. A device that uses the parallel port must comply with the requirements specified in the "Parallel Port and Peripheral Requirements" section earlier in this chapter.

RF Recommendations

Radio Frequency (RF) is the preferred medium to support wireless keyboard devices and any other wireless PC peripheral used for sessions of relatively long duration or conducted at a relatively long range. In contrast, IR is the preferred medium to support devices used in point-and-shoot, ad-hoc sessions of short duration, conducted at short range.

Use of RF in cordless peripherals such as keyboards, mice, joysticks, and remote controls is attractive to users. These cordless peripherals are direct substitutes for the devices attached to the PC with cables.

Other uses of RF attractive to users are home and small-office networking, cordless telephones, and cordless audio headphones. Manufacturers are encouraged to develop low-priced, relatively short-range solutions for these markets.

Manufacturers who are implementing designs that include RF devices are strongly encouraged to communicate with Microsoft. Microsoft wants to work with manufacturers to standardize RF protocols and media within the computer industry. Please send e-mail to ihv@microsoft.com. For more information about RF alternatives, see http://www.microsoft.com/hwdev/devdes/.

34. Select a low-power RF alternative

Recommended

For relatively short-range RF devices, it is possible to use a low-power RF device. Use an RF device appropriate to the application. For example, cordless keyboard and trackball devices only need a maximum range of 15 to 20 feet.

35. Consider noise and conflict with other RF devices in the environment

Recommended

RF devices should have a way to defeat noise, such as EMI interference. Also, programmable channel selection, carrier sensing, or the relatively expensive spread-spectrum or frequency hopping techniques can be used to share the RF medium with other RF devices that might be in the environment.

36. Separate certification of the system and the RF device

Recommended

Rules for certifying low-power, short-range, unlicensed RF devices vary greatly from country to country. By configuring the RF device as a system add-on, local certification of the system will not be blocked while waiting for certification of the RF device, which might take longer. Configuring the RF device as a system add-on also enables adding RF support to legacy hardware.

References for Serial, Parallel, and Wireless Support

This section lists some resources to help build hardware that works with Windows operating systems.

Plug and Play documentation

http://www.microsoft.com/hwdev/pnpspecs.htm

Device Class Power Management Reference Specification

http://www.microsoft.com/hwdev/onnow.htm

Windows NT DDK, Windows 95 DDK, and Infrared Communications for Windows 95 DDK

MSDN Professional membership

Infrared Data Association Serial Infrared (SIR) Physical Layer Specification

Available only to IrDA members:
Infrared Data Association (IrDA)
P. O. Box 3883
Walnut Creek, CA 94598 USA
Phone: (510) 943-6546
Fax: (510) 943-5600
E-mail: irda@netcom.com

Checklist for Serial, Parallel, and Wireless Support

Basic PC 97 Workstation PC 97 Entertainment PC 97


System Requirements for Serial, Parallel, and Wireless Support
1. Connection for external serial devices
Required Required Required
2. Connection for external parallel devices
Required Required Required
3. Wireless capabilities in PC system
Recommended Recommended Recommended

PC 97 Design Features for Ports
Plug and Play and Bus Design for Ports
4. Plug and Play device identifier
Required
5. Automatic resource assignment and dynamic disable capabilities
Required

Power Management for Ports
6. Compliance with Device Class Power Management Reference Specification
Required
7. Support Wakeup Events defined in "Device Class Power Management Reference Specification"
Required

Device Drivers and Installation for Ports
8. Device driver and installation meet Windows and Windows NT standards
Required

Serial Port Requirements
9. General device requirements
Required

Legacy Serial Port Requirements
10. 16550 UART (or equivalent) with support for 115.2K baud
Required
11. Flexible resource configuration and dynamic disable
Required
12. Conflict resolution ensures availability of at least one serial port
Required

Requirements for Other Serial Port Implementations
13. Serial port complies with device-class specifications for its bus
Required

Parallel Port and Peripheral Requirements
14. General device requirements
Required

Legacy Parallel Port Requirements
15. Flexible resource configuration for each parallel port
Required
16. I/O address restrictions for EPP support
Required
17. Compatibility, nibble mode, and ECP protocols compliant with IEEE 1284-1994
Required
18. Port connectors compliant with 1284-I, at a minimum
Required
19. Plug and Play device identifier for 1284 peripherals
Required
20. Support CompatibleID key in the device identification string
Recommended

Requirements for Other Parallel Port Implementations
21. Parallel port complies with device-class specifications for its bus
Required

Wireless Component Requirements
22. General device requirements
Required
23. Compliance with "Device Class Power Management Reference Specification" for wireless devices
Required
24. Support Wakeup Events defined in "Device Class Power Management Reference Specification"
Optional

IR Requirements
25. Echo cancellation in hardware, for slow-speed IR devices
Required
26. NDIS 4.0 miniport driver for IR devices
Required
27. System supports 4 megabits per second standard for input
Recommended
28. System supports both IrDA and consumer IR remote control devices
Recommended
29. System differentiates command streams if both IrDA and remote control devices are supported
Required
30. System supports a minimum range of 3 meters if both IrDA and remote control devices are supported
Recommended
31. Unicast filtering, for high-speed IR device
Recommended
32. Flexible resource configuration and dynamic disable
Required
33. Device compliant with bus and port specifications
Required

RF Recommendations
34. Select a low-power RF alternative
Recommended
35. Consider noise and conflict with other RF devices in the environment
Recommended
36. Separate certification of the system and the RF device
Recommended